Release History: QLogic qlc QLA24xx FCode for SUN SPARC and IBM
================================================================

Version 1.16 03/10/06
* Released version

Version 1.16b6 02/27/06
* Fix encode-unit to encode the lun target integer pair. Used in qla-mode.

Version 1.16b5 02/23/06
* Swap order of boot-wwn-hi & boot-wwn-lo in NVRAM (hi is now first)
  Always prompt for boot-target-id in set-boot-wwn.

Version 1.16b4 02/09/06
* Remove periods in display-wwn & display-inquiry,LUN. Now show-children looks 
  the same as it use to.
* Add 2-bit fcode-host field to fcode-parameter word (wd offset x56) in NVRAM.
  Value can be 00-SPARC, 01-IBM, or 10-MAC. This will effect the version string.
  The 01-IBM value should not be used. The IBM version is still a separte binary

Version 1.16b3 02/03/06
* Change Initiator test in login-device also. Test TARG-BIT of Service params. 
* Change show-login-devices & show-fabric-devices to skip display-luns if 
  display-port-db fails. Check target bit done in get-port-db. Now FL-port works

Version 1.16b2 01/31/06
* Remove all #ifdef MAC instrustions. Make SUN version the SPARC/MAC version
* Fix problem found @SUN w/6920, Change Initiator test in get-portname-db. 

Version 1.16b1 01/30/06
* Add support for Apple MAC Fcode, using #ifdefs. Make it 32-bit compatable.
* Add disk-test (read-write-read-compare) selected target with sel-dev & sel-lun
  Moved read-block-ext, timed-spin, r/w-blocks from sd node 1to parent qlc node.

Version 1.15 Beta_2 12/15/05
* Modify beacon word to flash top and bottom LEDs only!

Version 1.15 Beta_1 12/09/05
* Change node name to QLGC,qla for qla-mode on Sun platforms.
* Added boot ID NVRAM modification to the set-boot-wwn method.

Version 1.14 11/04/05
* Added support for qla-mode on Sun platforms. Added NVRAM modification words
  for Fcode parameter byte (fcode-mode) and Boot Port Name/Boot LUN. Including:
  set-fc-mode, set-boot-wwn, fc-mode@, boot-wwn@, boot-wwn!, and boot-lun@.
* Add creation of qla-mode property if the fcode-mode bit is set.
* Modify set-address and device-present? to handle #address-cells =2 in qla-mode
* Modify set-address & prepare-command to correctly handle 64-bit LUNs.
* Cleaned up code. Got rid of unneeded calls to get-id. Made all constants CAPs.
* Added login-devices word to login to all fabric devices and return #ports.
* Added display-port-db word used by list-wwns and show-children (fabric & loop)
* Modified show-fabric-devices to call login-devices and the call get-port-db

Version 1.13 10/28/05
* IBM code change ??

Version 1.12 10/10/05
* Fixed issue with multiple initiators on local loop

Version 1.11 (1.10.13) 10/3/05
* Fixed Sun defect CR 6308066 (ER 43414) Boot failed from Pyramid targets
* Fixed Sun defect CR 6328443 Failed to boot from SE6920/6130 target
* Fixed Sun defect CR 6324644 (ER 43580) SE6130 LUN information is not shown correctly


 Version 1.10.11 09/28/05
* Fixed ER42627: selftest does not perfrom risc-test.
* Populate fcp-luns data struct with LUN values in little-endian byte order.

 Version 1.10.09 09/26/05
 * Fixed ER42883: Getting illegal instruction following a probe-scsi-all.
 * Fixed ER43041: device name prop creation SUNW or QLGC or fibre-channel.
 * Fixed ER42627: risc-test causes unknow error. Incuded init-chip before test.
 * Fixed ER43571: Version property now includes the model string.

 Version 1.10 09/13/05
 * Included special steps in reset-risc.

 Version 1.09 09/12/05
 * Released 1.08.06 for test.

 Version 1.08.06   09/09/05
 * Fixed Sun defect 6309765 - (ER43064 same issue) Adapter information not
   printed the second time probe-scsi-all is typed.
 * Fixed Sun defect 6308468 - boot message is not generic.
 * Fixed Sun defect 6308071 - probe-scsi-all prints incorrect message if no
   cable connects to a port.
 * Fixed ER43133 - Displays Error: Unable to get Adapter ID when executing
   probe-scsi-all.
 * Fixed ER43135 - The header info indicate ISP2422 instead of ISP2432.
 * Fixed ER42880 - Mailbox or IOCB interrupt timeout occurred.
 * Fixed ER42883 - get-portname-db failed.
 * fcp-targets and show-children would cause login into initiators, and then
   subsequent scsi cmds to logged-in initiators would fail/timeout. Checked for
   device type (target/initiator) in PRLI parameters field in response iocb
   in words get-port-db and login-device, (performed a logout in the case of
   login-device word (which is fabric topology case)) and returned
   failure to ensure that no scsi cmds would be issued to initiator devices.
 * Device name property string dependent on ISP24xx subsystem-device-id for
   SPARC platform.
 * Model property dependent on ISP24xx device-id.
 * Compatible property string prefixed with "pci" (ISP2422) or "pciex" (ISP2432).
  
 Version 1.08.05   07/29/05
* Fix bug in version-prop method for the IBM version (needed a swap).

 Version 1.08.04   07/27/05
* Change version-prop method to concatinate long-string & short-verion string
  Now the date and version number are contained in one single place!
* Make the beacon word external.
* Add get-id to init-chip to set the topology. Take get-id out of open.
* Reorganize the order of methods in ifp.fth
* Fix get-sense (retry?) to use the sense data in completion IOCB, if available.
* Modify report-luns to accept an "Illegal Request" unit check response.
* Move all SCSI related commnads to hacom.fth and rename it "scsi.fth".
* 

 Version 1.08.03   07/12/05
* Change version property string, Add date to the end.
* Put LED test "beacon" word back in. It was removed in Version 1.08b6.
* Fix login-device call in f-port-fcp-luns method (fcp-luns.fth). 
* Comment-out call to logout-device in f-port-fcp-luns. (need to stay logged in)
* Add release-history.txt file to release package.
* Include tokenizer directory in release package, change makefile to use it.

 Version 1.08.02   07/05/05
* Fix show-children hang bug when no devices attached, re-wrote
  show-fabric-devices method.
* Create common get-id method to get adapter's ID & portid, new value my-portid.
* Add 8048 Async error retry return code (x99) to the do-cur-iocb method.
* Create common method, process-async, called by do-cur-iocb and get-mail.
* Implement logout-device and logout-devices. (Was a no-op)
* Change login-device to return completion-status, clean-up process-login-err.
* Changed mailbox command names from isp- to mbc-. 
* Shortened some messages and made them common. Shortened some value names.

 Version 1.08.01   06/28/05
* Change the version string only, for release to Sun.

 Version 1.08b7   06/28/05
* Add Serial-Transmit-Parameter mailbox command, set-isp-stp, to init-image. 
* Add set-slc method to set the Serial-Link-Control parameters in NVRAM.
  This allows the operator to change the output swing and output pre-emphasis
  for 1Gb, 2Gb & 4Gb.
* Change FCode checksum to use checksum in FCode Header, we will not use our
  own checksum byte at offset 0xfffc in Flash. The check-fcode method, which
  is part of selftest, now works on a combined BIOS/FCode/EFI Flash Image.
* Add check for "ISP " signature in NVRAM method, nvr-bad?, which is called
  before setting connection-mode, data-rate and bios-compatibility-mode. If 
  the NVRAM is bad, default values will be used instead.
* Fix NVRAM checksum to be the same as Flasutil. (sum words not bytes to = zero)
* Added show-bootid & show-model methods to show the corresponding NVRAM values.
* Clean up load-image method.
* Got rid of set-adapter-loopid. No reference in NVRAM docs, and never used.
* Got rid of starting-id stuff.
* Changed makefile to not use fiximage or fill128 utility. Use dd cmd instead!

Version 1.08b6   06/20/05 
* Shorten version property for luxadm problem.
* Add selftest, including: check-nvram, check-fcode, mem-test, risc-test (isp
  online selftest) and diag-lb (internal, 10-bit, 1-bit, & external loopback)
* Fix image size to pad image to 512 byte boundary, and update PCI header value.
* Added map-dma to combined dma-alloc and dma-map-in methods. And add unmap-dma
  to combined dma-free and dma-map-out methods.
* Added init-chip method to initialize & re-load FW, equivalent to re-selecting.
* Add fiximage.c utility to calculated FCode checksum for Flash images.

Version 1.08b5   05/26/05
* Fix set-fc-address for IBM. Now "Select Boot/Install device" works!
* Fix no-data command during IOCB build in prepare-command method.
* Added sav-fc method to save a copy of the FCode to RAM at location x4030.
* Moved FCode programming methods to a separate file, flash-pgm.fth.

Version 1.08b4   05/23/05
* Fix report-luns method problem when 0 LUNs is returned.
* Add SST25LF080A flash support. Add getpid method to check PROM ID.

Version 1.08b3   05/20/05  (First delivery to Qlogic)
* Fix BIOS compatible NVRAM parameter bit bug in set-mode method.
* The show-children method is now working for loop (nl) and fabric topology,
  but n-port (point-to-point) is still not supported!

Version 1.08b2   05/19/05
* Change model = QLGC24xx, name = SUNW,qlc.
* Add Asif's multiple IOCB interrupt fix. Using rsq-iocb-valid? method.

Version 1.08b1   05/18/05
* Got manual booting on IBM working! Many changes to fcp-luns & fcp-targets.
* Fixed SUN/IBM version banner bug.
* Modified verbiage in NVRAM mod? word.

Version 1.08x   05/16/05
* Fixed Endian problem w/phandle, now booting in loop topology on the Sun.
* Added fcp-targets and fcp-luns methods for IBM platform compatibility.

Version 1.07   05/13/05
* Initial release with booting fabric device working on Sun.
* Add ldfcode utility to program FCode at the OK prompt.
* Fixed all of the NVRAM parameter set methods.
* Combined various pieces of FCode from 2312 & 24xx code bases.

